<?php

$bdd = model_db_connexion();

echo '<span class="template_title">Mot de passe oublie ?</span>';

//CONTROLLER
if (isset($_POST['email'])) {
    
    $email = $_POST["email"];
    $user = checkEmail($bdd, $email);
    
    if (!empty($user)) {
      $newpassword = generePassword();
           
                $shapassword = sha1($newpassword);
               
                updatePassword($bdd, $shapassword, $email);

                sendEmail($email, $newpassword);
                
                printNewPassword();

            
        
    } else {
        echo '<span class="template_span" >Le compte que vous venez de renseigner n\'existe pas</span>
            <span class="template_span">Veuillez réessayer ! </span></br>';
        printOublie();
    }
} else {
    printOublie();
}

//Verification du mail
function checkEmail($bdd, $email) {
    $email = $bdd->quote($email);

    $results = $bdd->query(
            'SELECT * FROM users
			INNER JOIN user_type ON users.id_user_type= user_type.id_user_type
			WHERE `users`.`user_email`=' . $email);

    $line = $results->fetch(PDO::FETCH_ASSOC);

    return $line;
}

//Formulaire demande d'email
function printOublie() {

    echo '

    <form  action="' . URL_ROOT . 'oublie" method="POST">

        <div class="left">
            <label class="template_span" style="display: block;" for="email" >Votre email :</label>
            <input class="template_input" style="display: block;" type="text" id="email" name="email">
        </div>

        <div class="left">
        <label  style="display: block;" for="password">&nbsp;</label>
        <button class="button" type="submit">Reinitialiser votre mot de passe</button>
        </div>

        <div class="clear"></div>
    </form>';
}

function printNewPassword() {

    echo '<span class="template_span">Un mail contenant un nouveau mot de passe vous a &eacute;t&eacute; envoy&eacute; !</span>

    ';
}

//genere un mot de passe aléatoire
function generePassword() {
    $tpass = array();
    $id = 0;
    $taille = 6;
// récupération des chiffres et lettre 
    for ($i = 48; $i < 58; $i++)
        $tpass[$id++] = chr($i);
    for ($i = 65; $i < 91; $i++)
        $tpass[$id++] = chr($i);
    for ($i = 97; $i < 123; $i++)
        $tpass[$id++] = chr($i);
    $newpassword = "";
    for ($i = 0; $i < $taille; $i++) {
        $newpassword.=$tpass[rand(0, $id - 1)];
    }
    return $newpassword;
}

//Met a jour le mot de passe
function updatePassword($bdd, $shapassword, $email) {
    $bdd->query("UPDATE users
            SET   user_password = '$shapassword'
          WHERE user_email = '$email'" );
    
}

// On envoi l’email
function sendEmail($email, $newpassword) {
 
    $message = 'Vous recevez ce mail suite a votre demande de reinitialisation de mot de passe. </br>
        Votre nouveau mot de passe est le suivant: '.$newpassword.'';
     

    $subject = 'Mot de passe oublié';

    mail( $email, $subject, $message);
}
?>

